In general, standard mechanical gaming machines include a plurality of reels with symbols around the perimeters of the reels. In the course of normal game play the reels are spun and stopped at a given reel stop position. Stepper motors, through the use of a motor controller and under the control of the gaming machine firmware, drive the reels. Stepper motors, or steppers, have been described as electric motors without commutators. See, for example, “Control of Stepping Motors, A Tutorial” by Douglas W. Jones, The University of Iowa Department of Computer Science at internet site http://www.cs.uiowa.edu/˜jones/step/. Steppers consist of a plurality of windings that are all part of a stator and a rotor that may be a permanent magnet. For variable reluctance motors, the rotor may be a toothed block of a magnetically soft material. A motor controller externally handles the commutation. Design of these motors and controllers allows the motor to be held in a fixed position as well as being rotated. Many steppers can be operated at audio frequencies, allowing them to spin quickly. Further, some steppers may also be started and stopped quickly at controlled orientations.
The motor spins as the coils are driven in a sequence specified by the manufacturer. The rate at which the coils are sequenced determines the angular velocity of the motor. Changes in angular velocity of the reel-motor combination are limited by the moment of inertia of the motor and reel, along with the torque of the motor. Because of this limitation, the motor must be accelerated to its terminal velocity over some period of time. FIG. 1A shows a typical sequence that can be used in a gaming machine such as gaming machine 10 of FIG. 1B, where gaming machine 10 has five reels 12.
The reel sits initially at rest. It is commanded to instantaneously begin spinning at initial velocity, vi. The velocity is increased linearly over the period Tl until the final velocity, vf, is reached. The reel runs for some period of time at velocity vf until it is decelerated, coming to rest at the reel stop position chosen by the game firmware. Traditionally, during the acceleration and deceleration phases the step rate is controlled by a microprocessor through the use of lookup tables stored in memory. The lookup table contains entries that represent the amount of time to delay between each step. By shortening the time from one step to the next the reel will accelerate. By holding the time constant from one step to the next the reel will run at a constant velocity. By lengthening the time from one step to the next the reel will decelerate. FIG. 2 shows a table of a typical acceleration sequence.
At time t=0, the microprocessor issues a step pulse to the motor controller. The microprocessor then gets the first delay time value from its lookup table, 50 ms in the table of FIG. 2. The microprocessor uses this delay time to set a timer. When the timer expires, another step pulse is issued, the next delay value is fetched from the lookup table, and the timer is reset using this fetched delay time. This sequence continues until the end of the table is reached. This scheme is limited to a single acceleration or deceleration profile per table. In order to achieve fine control, these tables may grow to be quite large. The number and size of these tables will be limited by the storage capacity of the memory accessed by the microprocessor.